// 地球组件共享类型定义

// 基础坐标类型
export interface LatLngPoint { 
  lat: number; 
  lng: number; 
}

// 多边形类型
export interface LatLngPolygon { 
  id: string; 
  points: LatLngPoint[]; 
  name?: string; 
}

// 数据区域文件类型
export interface DataAreaFile {
  file_name: string;
  file_path: string;
  // 新增字段用于新的下载接口
  id?: number; // 文件ID，用于批量下载订单单文件下载
  data_type?: string; // 数据类型，如 'DmSpinfo'
  product_id?: number; // 产品ID
}

// 矩形区域类型
export interface LatLngRect { 
  minLat: number; 
  maxLat: number; 
  minLng: number; 
  maxLng: number; 
  name?: string; 
  files?: DataAreaFile[];
}

// 地点数据类型
export interface LocationPoint {
  id: number;
  planet_id: number;
  name: string;
  name_en: string;
  number: string;
  race: string;
  type: string;
  name_origin: string;
  diameter: number;
  level: number;
  left_latitude: number;
  left_longitude: number;
  right_latitude: number;
  right_longitude: number;
  center_latitude: number;
  center_longitude: number;
}

// 探测点数据类型
export interface DetectionPoint {
  id: number;
  planet_id: number;
  name: string;
  center_latitude: number;       // 中心纬度
  center_longitude: number;      // 中心经度
  detection_time: string; // 探测时间
  files: string;
  task_type: string;
  data_name: string;
}

// 扩展探测点数据类型，添加API特有的字段
export interface DetectionPointWithApiFields extends DetectionPoint {
  create_time: string;
  update_time: string;
  task_zh: string;
  data_type: string;
  data_level: string;
  detection_name: string;
  originalFiles?: DataAreaFile[]; // 添加原始文件数据字段
} 